package cn.xuqiudong.rpc.common.constants;

/**
 * 请求类型
 * @author Vic.xu
 */
public enum RequestType {

    /**
     * 请求
     */
    REQUEST((byte)1),
    /**
     * 响应
     */
    RESPONSE((byte)2),
    /**
     * 心跳
     */
    HEARTBEAT((byte)3);

    private byte code;

    private RequestType(byte code) {
        this.code=code;
    }

    public byte code(){
        return this.code;
    }

    /**
     * 根据code获取类型
     * @param code code
     * @return RequestType
     */
    public static RequestType findByCode(int code) {
        for (RequestType msgType : RequestType.values()) {
            if (msgType.code() == code) {
                return msgType;
            }
        }
        return null;
    }
}
